@echo off
:: ============================================
:: Flutter Web 启动配置文件
:: ============================================
:: 
:: 说明：修改下面的参数来自定义启动行为
::
:: ============================================

:: Web 服务器端口（默认：8080）
:: 如果端口被占用，可以改成 8081, 3000, 5000 等
set WEB_PORT=8080

:: 主机名（默认：localhost）
:: 通常不需要修改
set WEB_HOSTNAME=localhost

:: 浏览器选择
:: 可选值：chrome, edge, firefox, safari
:: 留空则自动选择
set BROWSER=edge

:: 是否启动前清理缓存（yes/no）
set CLEAN_BEFORE_RUN=no

:: 是否启动前更新依赖（yes/no）
set UPDATE_DEPENDENCIES=no

:: 额外的 Flutter 参数
:: 例如：--release （发布模式）
::      --profile （性能分析模式）
::      --verbose （详细日志）
set EXTRA_ARGS=

:: ============================================
:: 以下内容不需要修改
:: ============================================

echo.
echo ========================================
echo    Flutter Web 启动配置
echo ========================================
echo.
echo 端口: %WEB_PORT%
echo 主机: %WEB_HOSTNAME%
echo 浏览器: %BROWSER%
echo 清理缓存: %CLEAN_BEFORE_RUN%
echo 更新依赖: %UPDATE_DEPENDENCIES%
echo.
echo ========================================
echo.

cd /d "%~dp0"

:: 清理旧进程
taskkill /F /IM dart.exe >nul 2>&1
taskkill /F /IM flutter.exe >nul 2>&1

:: 清理缓存
if /i "%CLEAN_BEFORE_RUN%"=="yes" (
    echo 正在清理缓存...
    flutter clean
    echo.
)

:: 更新依赖
if /i "%UPDATE_DEPENDENCIES%"=="yes" (
    echo 正在更新依赖...
    flutter pub get
    echo.
)

:: 启动应用
echo 正在启动应用...
echo.
flutter run -d %BROWSER% --web-port=%WEB_PORT% --web-hostname=%WEB_HOSTNAME% %EXTRA_ARGS%

pause

